
#import "OCPageListViewController.h"

@interface OCPageListViewController () <DZNEmptyDataSetSource, DZNEmptyDataSetDelegate>

@end

@implementation OCPageListViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    
    self.pageIndex = 1;
    
    __weak typeof(self) weakSelf = self;
    
    self.tableView.mj_header = [MJRefreshNormalHeader headerWithRefreshingBlock:^{
        weakSelf.pageIndex = 1;
        [weakSelf.tableView.mj_footer resetNoMoreData];
        [weakSelf requestHandlerWishIsRefresh:YES];
    }];
    
    self.tableView.mj_footer = [MJRefreshAutoNormalFooter footerWithRefreshingBlock:^{
        [weakSelf requestHandlerWishIsRefresh:NO];
    }];
    
    self.tableView.emptyDataSetSource = self;
    self.tableView.emptyDataSetDelegate = self;
    [self tableBeginRefresh];
}

/**
 接口调用失败时停止刷新

 @param msg 失败信息
 */
- (void)apiFailed:(NSString *)msg {
    [self.tableView.mj_footer endRefreshing];
    [self.tableView.mj_header endRefreshing];
    [OCProgress_HUD showErrorWithStatus:msg];
}

/**
 使用该方法接受返回数据

 @param data 返回数据
 @param isRefresh 是否是刷新
 */
//- (void)handleResponseData:(NSArray *)data isRefresh:(BOOL)isRefresh {
//    if (isRefresh) {
//        [self.tableView.mj_header endRefreshing];
//        [self.tableData removeAllObjects];
//        self.tableData = [NSMutableArray arrayWithArray:data];
//        if (self.tableData.count != kNormalPageSize.intValue) {
//            [self.tableView.mj_footer endRefreshingWithNoMoreData];
//        } else {
//            self.pageIndex += 1;
//        }
//        [self.tableView reloadData];
//
//    } else {
//        [self.tableView.mj_footer endRefreshing];
//        [self.tableData addObjectsFromArray:data];
//        if (self.tableData.count != (kNormalPageSize.intValue * self.pageIndex)) {
//            [self.tableView.mj_footer endRefreshingWithNoMoreData];
//        } else {
//            self.pageIndex += 1;
//        }
//        [self.tableView reloadData];
//    }
//}

- (void)handleResponseData:(NSArray *)data isRefresh:(BOOL)isRefresh {
    if (isRefresh) {
        [self.tableView.mj_header endRefreshing];
        [self.tableData removeAllObjects];
        self.tableData = [NSMutableArray arrayWithArray:data];
        self.tableView.mj_footer.hidden = NO;
        
        if (self.tableData.count == 0) {
            [self.tableView.mj_footer endRefreshingWithNoMoreData];
        } else {
            
            if (self.tableData.count <= 6) {
                [self.tableView.mj_footer endRefreshingWithNoMoreData];
                
            } else {
                self.pageIndex += 1;
            }

        }
        [self.tableView reloadData];
        
    } else {
        [self.tableView.mj_footer endRefreshing];
        if (data.count == 0) {
            [self.tableView.mj_footer endRefreshingWithNoMoreData];
        } else {
            self.pageIndex += 1;
            [self.tableData addObjectsFromArray:data];
        }
        [self.tableView reloadData];
    }
}

#pragma mark ------- DZNEmptyDataSetDelegate -------

- (void)emptyDataSetWillAppear:(UIScrollView *)scrollView; {
    scrollView.mj_footer.hidden = YES;
}

- (void)emptyDataSetDidDisappear:(UIScrollView *)scrollView; {
    scrollView.mj_footer.hidden = NO;
}

@end
